<?php

/* 
 * 管理钩子类
 * 识别Hooks文件夹下的各个模块，并取到以模块文件夹名命名的info文件
 * 首先要遍历Hooks下的文件夹,然后取出文件下里面的.info文件
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
class Wjphooks
{
  private static $instance=NULL;
  private $modules;
  private $hooklist;
  private $hookpath='';
  //初始化钩子类
  private function __construct() {
    $this->hooklist=array();
    $this->loader_all_hook();
    
  }
  /*
   * 实现遍历Hooks文件夹
   */
  private function loader_all_hook()
  {
    $this->hookpath=ROOT.'core/Hooks/';
    $dir_hand=  opendir($this->hookpath);
    while ($fname=  readdir($dir_hand))
    {
    if($fname=='.'||$fname=='..')
    {
      continue;
    }else{
      $info_file=$this->hookpath.strtolower($fname).'/'.strtolower($fname).'.info';
      $module_name=strtolower($fname);
      if(file_exists($info_file)){
        Debugshow::show($info_file.'文件存在');
        $this->read_info($info_file);
      }else{
        Debugshow::show($info_file.'文件不存在');
      }
    }
    }
  }
  /*
   * 实现读取每个模块下的.info文件
   */
  private function read_info($filename)
  {
    $fhand=  fopen($filename, "r");
    while($line=  fgets($fhand))
    {
      var_dump($line);
    }
    fclose($fhand);
  }

  //获得钩子实例
  static public function getInstance()
  {
     if(!(self::$instance instanceof self))
     {
            self::$instance=new self();
     }
      return self::$instance;
  }
}
